package cn.steel.service;

import cn.steel.domain.entity.Product;
import cn.steel.domain.vo.ProductCategoryVo;
import cn.steel.domain.vo.ProductVo;
import com.github.pagehelper.Page;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface ProductService {
    Page<ProductVo> getProductsPaginated(String search, String supplierName, Long categoryId, String shippingRegion, Long supplierId, Integer status);
    List<ProductCategoryVo> getCategories();
    Product getProductById(Long id);
    void addProduct(Product product, MultipartFile materialReportFile, MultipartFile imageFile);
    void updateProduct(Product product, MultipartFile materialReportFile, MultipartFile imageFile);
    void deleteProduct(Long id);
    String findCategoryById(Long categoryId);
    void batchImportProducts(List<Product> products, Long supplierId);
    List<Product> getProductsForExport(String search, Long categoryId, Integer status, Long supplierId);
}